//
//  UIColor+YFExtesion.h
//  project
//
//  Created by Winny Zhang on 2019/3/23.
//  Copyright © 2019 健健. All rights reserved.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UIColor (YFExtesion)

/**
 以颜色生成 Image
 */
@property(nonatomic, readonly) UIImage *image;

/**
 高性能颜色
 
 @param r red
 @param g green
 @param b blue
 @return Color
 */
+ (UIColor *)withRed:(CGFloat)r green:(CGFloat)g blue:(CGFloat)b;

/**
 高性能颜色， Red、Green、Blue值相同

 @param value Red、Green、Blue值
 @return Color
 */
+ (UIColor *)withRGB:(UInt32)value;

/**
 高性能颜色

 @param r red
 @param g green
 @param b blue
 @param a alpha
 @return Color
 */
+ (UIColor *)withRed:(CGFloat)r green:(CGFloat)g blue:(CGFloat)b alpha:(CGFloat)a;

/**
 高性能颜色， Red、Green、Blue值相同

 @param value Red、Green、Blue值
 @param a 透明度
 @return Color
 */
+ (UIColor *)withRGB:(UInt32)value alpha:(CGFloat)a;

/**
 十六进制 转换 UIColor

 @param hex 十六进制数字
 @return Color
 */
+ (UIColor *)withHex:(UInt32)hex;

/**
 十六进制 转换 UIColor
 
 @param hex 十六进制数字
 @param a   透明度
 @return Color
 */
+ (UIColor *)withHex:(UInt32)hex alpha:(CGFloat)a;

/**
 十六进制字符串 转换 UIColor

 @param hexString 十六进制字符串
 @return Color
 */
+ (UIColor *)withHexString:(NSString *)hexString;

/**
 返回带透度的Color，不影响透明度
 
 @param alpha 透度
 @return Color
 */
- (UIColor *)withAlphaComponent:(CGFloat)alpha;



@end

NS_ASSUME_NONNULL_END
